package ListPractice;

import java.util.ArrayList;
import java.util.Scanner;

/**
 * @author Xiao
 * @date 2021/7/12
 */
public class Test01 {
    /**
     *      需求：
     *      1,创建一个集合ArrayList对象 存储字符串,通过无限循环的方式往集合里添加 字符串 类型的数据
     * 		注意：
     * 			当键盘录入的数据为 end 的时候,就停止录入(end不添加到集合)
     *
     * 	    2,遍历集合,如果集合中有元素长度小于2 就不输出到控制台
     */
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Scanner sc = new Scanner(System.in);
        //向集合中循环添加字符串，直到输入end结束
        addArrayList(list, sc);
        //遍历集合并打印长度不小于2的集合元素。
        printArrayList(list);

    }

    //遍历集合并打印长度不小于2的集合元素。
    private static void printArrayList(ArrayList<String> list) {
        if (list.size() < 2) {
            System.out.println("未录入任何长度大于1的字符串。");
            return;
        }
        System.out.print("<\t");
        for (int i = 0; i < list.size(); i++) {
            String s = list.get(i);
            if (s.length() >= 2) {
                System.out.print(s + "\t");
            }
        }
        System.out.println(">");
    }

    //循环添加字符串，直到输入end结束
    public static void addArrayList(ArrayList<String> list, Scanner sc) {
        while (true) {
            System.out.println("请添加字符串(输入end结束)：");
            String s = sc.nextLine();
            if ("end".equals(s)) {
                System.out.println("本次添加结束。");
                break;
            }   //不需要加else
            list.add(s);
        }
    }
}
